
import request from "../../utils/request"

//定义排行榜中所有歌曲列表， 因为这个数据不需要渲染，也不需要响应的，所以不用定义在 data 中
const musicList = [{ idx: 0, name: "新歌榜" }, { idx: 1, name: "热歌榜" }, { idx: 2, name: "原创榜" }, { idx: 3, name: "飙升榜" }]
Page({
    data: {
        bannerList: [],
        songList: [],
        rankList: []
    },
    //获取轮播图片
    async getBannerList() {
        try {
            const res = await request({
                url: "/banner",
                data: {
                    type: 2
                }
            })
            // console.log(res);
            if (res.data.code === 200) {
                this.setData({
                    bannerList: res.data.banners
                })
            }
        } catch (error) {
            // console.log(error);
            wx.showToast({
                title: '请求出错',
                icon: "error"
            })
        }

    },
    //获取推荐歌曲列表
    async getSongList() {
        try {
            const res = await request({
                url: "/personalized",
                data: {
                    limit: 8
                }
            })
            // console.log(res);
            if (res.data.code === 200) {
                this.setData({
                    songList: res.data.result
                })
            }
        } catch (error) {
            // console.log(error);
            wx.showToast({
                title: '请求出错',
                icon: "error"
            })
        }
    },
    //获取排行榜歌曲列表
    async getRankList() {
        for (let i = 0; i < musicList.length; i++) {
            try {
                const res = await request({
                    url: "/top/list",
                    data: {
                        idx: musicList[i].idx
                    }
                })
                // console.log(res);
                if(res.data.code===200){
                    this.setData({
                        rankList:[
                            ...this.data.rankList,
                            {
                            ...musicList[i],
                            songs:res.data.playlist.tracks.slice(0,5)
                            }
                        ]
                    })
                }
                // console.log(this.data.rankList);
            } catch (error) {
                wx.showToast({
                    title: '请求出错',
                    icon: "error"
                })
            }
        }
    },
    //测试自定义事件
    recommendTapMore(e) {
        console.log("点击查看更多触发自定义事件", e);
    },

    onLoad() {
        this.getBannerList()
        this.getSongList()
        this.getRankList()
    },
    //点击“每日推荐”图标前往指定页面
    goToRecommend(){
        wx.navigateTo({
          url: '/pages/recommend/recommend',
        })
    }
})